package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;

import lombok.Data;

/**
 * @desc ObtainTargetContentInfoComRespDto
 * @使用场景
 */
@Data
public class ObtainTargetContentInfoComRespDto
  extends BaseDto
  implements Serializable {

  /**
   * 当前内容标识
   */
  @ApiModelProperty("当前内容标识")
  private String currentContentCode;

  /**
   * 层级
   */
  @ApiModelProperty("层级")
  private Long levelNumber;

  /**
   * 排序
   */
  @ApiModelProperty("排序")
  private Long orderNumber;

  /**
   * 部门排序
   */
  @ApiModelProperty("部门排序")
  private Long dutyBodyOrderNum;

  /**
   * 权重排序
   */
  @ApiModelProperty("权重排序")
  private Long weightOrderNumber;

  /**
   * 个人排序
   */
  @ApiModelProperty("个人排序")
  private Long personalOrderNumber;

  /**
   * 指标汇报对象设置项编码 PRIMARY_TASK:一级建设任务 SECONDARY_TASK:二级建设任务 PRIMARY_OBSERVATION_POINT:二级以下建设任务或一级观测点 SECONDARY_OBSERVATION_POINT:二级观测点 OTHER_OBSERVATION_POINT:二级以下观测点
   */
  @ApiModelProperty("指标汇报对象设置项编码")
  private String reportObjectSetCode;

  /**
   * 归属父级目标ID
   */
  @ApiModelProperty("归属父级目标ID")
  private String parentTargetId;

  /**
   * 归属父级目标分类ID
   */
  @ApiModelProperty("归属父级目标分类ID")
  private String parentTtargetCategoryId;

  /**
   * 归属父级指标ID
   */
  @ApiModelProperty("归属父级指标ID")
  private String parentObjectiveId;

  /**
   * 冗余一级目标分类ID
   */
  @ApiModelProperty("冗余一级目标分类ID")
  private String rootTargetCategoryId;

  /**
   * 关联末级目标分类ID
   */
  @ApiModelProperty("关联末级目标分类ID")
  private String correlationLastTargetCatId;

  /**
   * 冗余一级指标ID
   */
  @ApiModelProperty("冗余一级指标ID")
  private String rootObjectiveId;

  /**
   * 上级被评对象目标周期ID
   */
  @ApiModelProperty("上级被评对象目标周期ID")
  private String parentvaObjTargetCycleId;

  /**
   * 虚拟组织下部门ID
   */
  @ApiModelProperty("虚拟组织下部门ID")
  private String deptId;

  /**
   * 虚拟组织成员就职记录ID
   */
  @ApiModelProperty("虚拟组织成员就职记录ID")
  private String virtualOrgInductionRecordId;

  /**
   * 责任主体类型 PERSONAL:个人 DEPT:部门
   */
  @ApiModelProperty("责任主体类型")
  private String respBodyType;

  /**
   * 目标类型 PERSON_LIABLE:团队目标 INITIATOR:个人目标 PARTICIPANTS:111111协同目标
   */
  @ApiModelProperty("目标类型")
  private String targetType;

  /**
   * 是否用于一级部门 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否用于一级部门")
  private String isUseFirstDept;

  /**
   * 指标模板ID
   */
  @ApiModelProperty("指标模板ID")
  private String objectiveTemplateId;

  /**
   * 指标模板名称
   */
  @ApiModelProperty("指标模板名称")
  private String objectiveTemplateName;

  /**
   * 指标模板类型 QUALITATIVE:定性 RATION:定量
   */
  @ApiModelProperty("指标模板类型")
  private String objectiveTemplateType;

  /**
   * 是否有目标值 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否有目标值")
  private String isTargetValue;

  /**
   * 指标业务类型 NUMBER_GROWTH:数量增长型 NUMBER_DECLINE:数量降幅型 PERCENTAGE_GROWTH:百分比增长型 PERCENTAGE_DECLINE:百分比降幅型 PROGRESS:进度型 RATIO_GROWTH:比率增长型 RATIO_DECLINE:比率降幅型 SUBJECTIVE_QUALITATIVE:主观定性
   */
  @ApiModelProperty("指标业务类型")
  private String objectiveValueType;

  /**
   * 是否左侧比例型 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否左侧比例型")
  private String isLeft;

  /**
   * 单位
   */
  @ApiModelProperty("单位")
  private String unit;

  /**
   * 数字单位
   */
  @ApiModelProperty("数字单位")
  private Double digitalUnit;

  /**
   * 计算数据来源 MANUAL_FILLING:人工填报 SYSTEM_DOCKING:系统对接
   */
  @ApiModelProperty("计算数据来源")
  private String calculateDataSource;

  /**
   * 系统对接计算点 CALCULATE:计算实际值 SCORE_AFTER_CALCULATE:计算实际值得分
   */
  @ApiModelProperty("系统对接计算点")
  private String systemDocking;

  /**
   * 分工末级责任主体设置 FINAL_DEPARTMENT:末级部门 FINAL_PERSON:末级个人
   */
  @ApiModelProperty("分工末级责任主体设置")
  private String lasttLiableSubject;

  /**
   * 传输数值（整数型）
   */
  @ApiModelProperty("传输数值（整数型）")
  private Long outputNum;

  /**
   * 是否开启主观评分 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启主观评分")
  private String isSubjectiveScoring;

  /**
   * 是否末级指标 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否末级指标")
  private String isLastObjective;

  /**
   * 与父级责任主体是否相同 TRUE:是 FALSE:否
   */
  @ApiModelProperty("与父级责任主体是否相同")
  private String andParentBodyIsIdentical;

}
